#include<stdio.h>
#include<assert.h>
#include<ctype.h>
#include<limits.h>

int my_atoi(const char* str)
{
   assert(str);
   int flag=1;//记录正负号
   //跳过空格
   while(isspace(*str))
   {
      str++;
   }
   //单独考虑正负
   if(*str=='-')
   {
     flag=-1;
     str++;
   }
   long long ret=0;
   while(*str)
   {
    if(isdigit(*str))
    {
     ret=ret*10+(*str-'0')*flag;
     if(ret>INT_MAX || ret<INT_MIN)
     {
       return 0;
     }
    }
    else
    {
      return (int)ret;
    }
   str++;
   }
  return (int)ret;
}


int main()
{
   char a[]="      123aaa111";
   int r=my_atoi(a);
   printf("%d",r);
}
